1. Скачиваем файлы бота и распаковываем их
Бот может быть запущен под Linux/Windows (возможно Mac, я не проверял). Единственное требование для его запуска — наличие JRE (Java Runtime Environment) в системе.
Скачиваем файл:
hetzner.abcd.cloud/files/billmgr5-integration.zip
Распаковываем его и видим что-то вроде:
- systemd — шаблоны файлов, чтобы запустить бота как фоновый сервис, через systemd
- billbot.jar — сам бот
- config.yml — настройки, которые необходимо поменять под себя, перед запуском бота
- start.bat/start.sh — файлы для простого запуска бота под Windows/Linux
Настраиваем BillManager
В минимальном варианте, нам надо только добавить хотя бы один тариф и обработчик/тип продукта для него:
2.1 Добавляем тип продукта:
Открываем в BillManager 5 меню «Продукты > Типы продуктов» и жмём «Создать».
В открывшемся окне заполняем отмеченные поля и жмём «ОК»:
В поле «1» может быть любое короткое значение. Это значение не отображается клиенту и является системным наименованием товара. Запомните его, т.к. оно понадобится при настройке бота.
2.2 Добавляем обработчик услуг
Открываем меню «Интеграция > Обработчики услуг» и жмём «Создать».
На шаге «Тип продукта» выбираем созданный в 2.1 тип.
«Модуль обработки» — «Ручная обработка»:
«Настройка интеграции» — «Не создавать задачу на продление»:
В параметрах обработчика указываем люббой ДЦ, любое имя обработчика и в поле «Ответственный» — отдел, в котором будет аккаунт (сторудник), под которым бот будет авторизовываться в биллинге.
2.3 Добавляем тарифный план
«Продукты > Тарифные планы», кнопка «Создать».
«Тип продукта» — добавленный в 2.1 тип:
Настраиваем параметры тарифа:
- Обработчик услуг — добавленный в 2.2 обработчик.
- Внутреннее наименование — любое.
- В поле «Единоразово» — на сколько покупка данного тарифа будет пополнять баланс панели
Жмём «ОК».
Теперь можно создать ещё несколько тарифных планов под разные суммы пополнения:
3. Получаем токен авторизации в панели
Чтобы бот мог управлять пользователями панели, ему нужен токен авторизации администратора, с максимальным сроком действия (мы же не хотим, чтобы бот отвалился через месяц).
Для этого, заходим в свой инстанс панели:
Жмём на кнопку информации:
Открываем страницу с API:
На странице API жмём «Auth > Login > Try it out»:
В «Request body» подставляем логин/пароль админа панели и максимальное время действия токена — 315360000.
Жмём «Execute».
Из поля «Server response» сохраняем себе значение хедера «authorization». Это токен авторизации, который будет использован при настройке бота.
4. Настраиваем бота под себя
Открываем config.yml и видим что-то вроде:
Несмотря на обилие настроек, тут всё просто.
- billing.url — адрес вашего биллинга, с постфиксом /billmgr
- billing.login — логин аккаунта сотрудника, под которым будет авторизовываться в биллинге запущеный бот
- billing.password — пароль аккаунта сотрудника
- panel.url — адрес вашей панели Hetzner-реселлера
- panel.token — токен авторизации, полученный в пункте 3
- mail — настройки почты, чтобы бот мог оповещать вас об успешных/проваленных задачах
- mail.receivers — на какие email-адреса слать отчёты об обработке задач
- replenisment — обработка задач о пополнении баланса (заказа тарифов из пункта 2.3)
- replenishment.productCodes — здесь код продукта, выбранный в пункте 2.1 («Внутреннее имя»)
- registration — автоматическая регистрация в панели всех, кто зарегистрировался в биллинге
5. Тестируем результат
После выставления настроек, запускаем бота с помощью start.bat/start.sh:
Если настройки выставлены верно, видим что-то вроде:
Бот начал следить за биллингом. Теперь, необходимо приобрести добавленный ранее тариф в биллинге.
Заходим в биллинг под тестовым клиентом:
Выбираем созданную в пункте 2 услугу и ждём «Заказать»:
Приобретаем услугу:
Бот обрабатывает задачу, присылая вам письмо о результате обработки:
Если данный тест прошёл успешно, можете также проверить авторегистрацию, добавив пользователя в биллинг и убедившись что бот зарегистрировал его в панели (если в конфиге бота авторегистрация включена).